pub fn dp_rec_mc(amount: u32) -> u32 {
    // dp[k]表示找零最小张数
    let mut dp = vec![0; (amount + 1) as usize];
    // dp[0] = 0
    dp[0] = 0;
    for i in 1..=amount {
        dp[i as usize] = i;
        for coin in [1, 2, 5, 10, 20, 50, 100].iter() {
            if i >= *coin {
                dp[i as usize] = dp[i as usize].min(dp[(i - *coin) as usize] + 1);
            }
        }
    }

    dp[amount as usize]
}
